package com.great.service.impl;

import com.github.pagehelper.PageHelper;
import com.great.dao.IndexDao;
import com.great.domain.Cart;
import com.great.domain.Cate;
import com.great.domain.Order;
import com.great.domain.Product;
import com.great.service.IndexService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class IndexServiceImpl implements IndexService {

    @Autowired
    private IndexDao indexDao;

    //获取所有父分类
    @Override
    public List<Cate> findAllParentCate() {
        return indexDao.findAllParentCate();
    }

    //获取所有子分类
    @Override
    public List<Cate> findAllChildCate() {
        return indexDao.findAllChildCate();
    }

    //查询某个父类下的所有商品
    @Override
    public List<Product> findAllfproduct(Integer product_fid) {
        return indexDao.findAllfproduct(product_fid);
    }

    //查寻某个子分类的所有商品
    @Override
    public List<Product> findAllcproduct(Integer product_cid) {
        return indexDao.findAllcproduct(product_cid);
    }

    //添加商品到购物车
    @Override
    public void addcart(String id, int product_id, int cart_num) {
        indexDao.addcart(id,product_id,cart_num);
    }

    //查询用户的所有购物车数据
    @Override
    public List<Cart> findcart(String user_id) {
        return indexDao.findcart(user_id);
    }

    //检查购物车上是否已存在该商品
    @Override
    public Integer checkcart(String user_id, Integer product_id) {
        return indexDao.checkcart(user_id,product_id);
    }

    //若购物车存在该商品，则只更改该产品的数量
    @Override
    public void updatecart_num(String user_id, Integer product_id, Integer cart_num) {
        indexDao.updatecart_num(user_id,product_id,cart_num);
    }

    //更新购物车某个产品的数量
    @Override
    public void cart_numchange(Integer cart_id, Integer count) {
        indexDao.cart_numchange(cart_id,count);
    }

    //删除购物车上某个产品
    @Override
    public void cart_del(Integer cart_id) {
        indexDao.cart_del(cart_id);
    }


    //确认订单时，通过购物车获取商品信息
    @Override
    public Cart searchcartrecord(Integer cart_id){
        return indexDao.searchcartrecord(cart_id);
    }

    //添加订单
    @Override
    public void addorder(Order order) {
        indexDao.addorder(order);
    }

    @Override
    public void updateorder(String order_id) {
        indexDao.updateorderstatus(order_id);
    }

    @Override
    public List<Order> getorder(String user_id,int page, int size) {
        PageHelper.startPage(page, size);
        return indexDao.getorder(user_id);
    }
}
